﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace projetoFinal
{
    public enum statusChamado
    {
        emAberto = 1,
        emAndamento = 2,
        atendido = 3,
        cancelado = 4
    }

    public class chamado
    {
        #region Atributos
        Int64 codChamado;
        associado associado;
        associadoCarro associadoCarro;
        tipoProblema tipoProblema;
        tipoServico tipoServico;
        prestadorServico prestador;
        string numChamado;
        string endereco;
        string numero;
        string uf;
        string cidade;
        string descricao;
        seguradora seguradora;
        statusChamado status;
        DateTime dataCad;
        #endregion

        #region Propriedades
        public Int64 CodChamado
        {
            get { return codChamado; }
            set { codChamado = value; }
        }
        public associado Associado
        {
            get { return associado; }
            set { associado = value; }
        }
        public associadoCarro AssociadoCarro
        {
            get { return associadoCarro; }
            set { associadoCarro = value; }
        }
        public tipoProblema TipoProblema
        {
            get { return tipoProblema; }
            set { tipoProblema = value; }
        }
        public tipoServico TipoServico
        {
            get { return tipoServico; }
            set { tipoServico = value; }
        }
        public prestadorServico Prestador
        {
            get { return prestador; }
            set { prestador = value; }
        }
        public string NumChamado
        {
            get { return numChamado; }
            set { numChamado = value.Trim(); }
        }
        public string Endereco
        {
            get { return endereco; }
            set { endereco = value.Trim(); }
        }
        public string Numero
        {
            get { return numero; }
            set { numero = value.Trim(); }
        }
        public string Uf
        {
            get { return uf; }
            set { uf = value.Trim(); }
        }
        public string Cidade
        {
            get { return cidade; }
            set { cidade = value.Trim(); }
        }
        public string Descricao
        {
            get { return descricao; }
            set { descricao = value.Trim(); }
        }
        public seguradora Seguradora
        {
            get { return seguradora; }
            set { seguradora = value; }
        }
        public statusChamado Status
        {
            get { return status; }
            set { status = value; }
        }
        public DateTime DataCad
        {
            get { return dataCad; }
            set { dataCad = value; }
        }
        #endregion

        #region Métodos
        public chamado()
        {
            this.CodChamado = 0;
            this.Associado = null;
            this.AssociadoCarro = null;
            this.TipoProblema = null;
            this.TipoServico = null;
            this.NumChamado = string.Empty;
            this.Endereco = string.Empty;
            this.Numero = string.Empty;
            this.Uf = string.Empty;
            this.Cidade = string.Empty;
            this.Descricao = string.Empty;
            this.Seguradora = null;
            this.Prestador = null;
            this.DataCad = DateTime.Today;
            this.Status = statusChamado.emAberto;
        }
        public chamado(Int64 codChamado, associado associado, associadoCarro associadoCarro, tipoProblema tipoProblema, tipoServico tipoServico, string numChamado, statusChamado status)
        {
            this.CodChamado = codChamado;
            this.Associado = associado;
            this.AssociadoCarro = associadoCarro;
            this.TipoProblema = tipoProblema;
            this.TipoServico = tipoServico;
            this.NumChamado = numChamado;
            this.Endereco = string.Empty;
            this.Numero = string.Empty;
            this.Uf = string.Empty;
            this.Cidade = string.Empty;
            this.Descricao = string.Empty;
            this.Seguradora = null;
            this.Prestador = null;
            this.DataCad = DateTime.Today;
            this.Status = status;
        }
        #endregion
    }
}
